<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="src.pojo.Student" %>
<%@ page import="java.util.List" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021/12/3
  Time: 20:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Foreach</title>
</head>
<body>
<%--    foreach:作用：遍历输出使用--%>
<%--
1.遍历1到10,输出
    begin 属性设置开始的索引
    end属性设置结束的索引
    var属性表示循环的变量(也是当前正在遍历到的数据)
    for(int i = 0 ; i < 10 ; i++)
--%>

<table border="1">
    <c:forEach begin="1" end="10" var="i">
        <tr>
            <td>${i}</td>
        </tr>
    </c:forEach>
</table>

<hr>
<!--
遍历Object数组
for(Object item : arr)
items表示遍历的数据源(遍历的集合)
var表示当前遍历到的数据
-->

<!---先准备一个数组-->
<%
request.setAttribute("arr" , new Object[]{"110" , "119" , "120"});
%>

<c:forEach items="${requestScope.arr}" var="item">
    ${item}<br/>
</c:forEach>

<hr/>
<!--遍历map集合-->
<%
    HashMap<String, Object> map = new HashMap<>();
    map.put("key1" , "value1");
    map.put("key2" , "value2");
    map.put("key3" , "value3");

    //使用正常的迭代器循环
//    for (Map.Entry<String , Object> entry : map.entrySet()){
//        System.out.println(entry.getKey() + "--" + entry.getValue());
//    }

    //将数据存入请求域中
    request.setAttribute("map" , map);
%>

<c:forEach items="${requestScope.map}" var="entry">
    <h1>${entry.key} = ${entry.value}</h1>
</c:forEach>


<hr/>
<!--遍历List集合--list中存放Student类,有属性,编号,用户名,密码,年龄,电话信息-->
<%
    List<Student> students = new ArrayList<>();
    //将数据存入到students集合中
    for(int i = 1 ; i <= 10 ; i++){
        students.add(new Student(i , "username"+i,"password"+i,i,"phone" + i));
    }
    //将数据存在请求域中
    request.setAttribute("stu" , students);
%>


<!--
    items表示遍历的集合
    var表示遍历到的数据
    begin 表示遍历的开始索引
    end 表示遍历的结束索引
    step 属性表示遍历的步长
    varStatus 属性表示当前遍历到的数据的状态
-->
<table border="1">
    <tr>
        <th>编号</th>
        <th>用户名</th>
        <th>密码</th>
        <th>年龄</th>
        <th>电话</th>
        <th>操作</th>
    </tr>
    <c:forEach items="${requestScope.stu}" begin="2" end="7" varStatus="status" var="student" step="2">
        <tr>
            <td>${student.id}</td>
            <td>${student.username}</td>
            <td>${student.password}</td>
            <td>${student.age}</td>
            <td>${student.phone}</td>
            <td>${status.end}</td>
        </tr>
    </c:forEach>
</table>





</body>
</html>
